package br.gov.seinf.mb;

import java.io.Serializable;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.gov.seinf.dao.DAO;
import br.gov.seinf.entity.Setor;
import br.gov.seinf.util.Msg;

@ViewScoped
@ManagedBean
public class SetorBean implements Serializable {

	private static final long serialVersionUID = 1L;
		
	private Setor setor = new Setor();
	private List<Setor> setores;
	DAO<Setor> dao = new DAO<Setor>(Setor.class);
	
	
	public void grava() {
		if (setor.getId() == null) {
			Msg.addMsgInfo("Setor Cadastrado Com Sucesso");
			dao.adiciona(setor);
		} else {
			Msg.addMsgInfo("Alteração Realizada Com Sucesso");
			dao.atualiza(setor);
		}
		setores = dao.listaTodos();
		 this.setor = new Setor();
	}
	
	/*public void IdOrgao() {
		DAO<Orgao> dao = new DAO<Orgao>(Orgao.class);
		
		Orgao orgao = dao.buscaPorId(idOrgao);
		orgao.setId(orgao.getId());
		orgao.setNome(orgao.getNome());
		
		orgao = new Orgao();
	}*/
	
	public List<Setor> getSetores() {
		if (setores == null) {
			System.out.println("Carregando setores...");
			setores = new DAO<Setor>(Setor.class).listaTodos();
		}
		return setores;
	}

		
//	public void getSetorByNome() {
//		try {
//			Query q = em.createQuery("SELECT s FROM Setor s WHERE s.nome=:nome");
//			q.setParameter("nome", new Long(parameter));
//			setor = (Setor) q.getSingleResult();
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//	}

		
	/** Getters and Setters **/
	
	public Setor getSetor() {
		return setor;
	}

	public void setSetor(Setor setor) {
		this.setor = setor;
	}

	public DAO<Setor> getDao() {
		return dao;
	}

	public void setDao(DAO<Setor> dao) {
		this.dao = dao;
	}

	public void setSetores(List<Setor> setores) {
		this.setores = setores;
	}

	
}
